تالار های تخصصی

ساخت وبلاگ
زمانی که یک program unit(فانکشن، پکیج، پروسیجر) به صورت invoker right ایجاد می شود، کاربر صدا زننده برنامه، با مجوز خودش این برنامه را اجرا خواهد کرد بنابرین اگر جدولی در برنامه موجود باشد که این کاربر به آن دسترسی نداشته باشد، کارش با خطا متوقف خواهد شد(بررسی Invoker’s Rights و Definer’s Rights). برای مثال، تابع زیر را در نظر بگیرید: SQL> CREATE FUNCTION sys.Tabe(name_malek in varchar2,name_jadval in varchar2) RETURN VARCHAR2 AUTHID CURRENT_USER AS V_bytes varchar2(1000); BEGIN select bytes into V_bytes from dba_segments where owner=name_malek and segment_name=name_jadval; RETURN V_bytes; END; / Function created. این تابع که با یوزر sys ایجاد شده، قرار است نام segment را دریافت و حجم آن را بر اساس بایت برگرداند. عبارت AUTHID CURRENT_USER بیانگر invoker right است. کاربری با نام vahid را با حداقل دسترسی ایجاد کرده و بررسی می کنیم که آیا این کاربر می تواند تابع فوق را اجرا کند؟ SQL> create user vahid identified by a; User created. SQL> grant create session to vahid; Grant succeeded. بدیهی است که اگر کاربری بخواهد تابع کاربر دیگر را اجرا کند، باید مجوز اجرای آن تابع را داشته باشد: SQL> grant execute on sys.tabe to vahid; Grant succeeded. با این شرایط، آیا کاربر vahid می تواند تابع sys.tabe را اجرا کند؟ SQL> conn vahid/a Connected. SQL> select sys.tabe('SYS','JADVAL1') from dual; ERROR at line 1: ORA-00942: table or view does not exist ORA-06512: at "SYS.TABE", line 7 همانطور که می بینید، کاربر vahid با توجه به آنکه به ویوی dba_segments دسترسی ندا تالار های تخصصی...
ما را در سایت تالار های تخصصی دنبال می کنید

برچسب : نویسنده : خنجی niksaleh بازدید : 77 تاريخ : پنجشنبه 25 اسفند 1401 ساعت: 22:11

استفاده از عبارت parallel در زمان ساخت primary key منجر به انجام عملیات به صورت همروند نخواهد شد. دستور زیر را مشاهده کنید: SQL> alter table all_table add constraint pk_1 primary key (id) parallel 10; Table altered. Elapsed: 00:00:12.36 با فعال کردن trace خواهیم دید که اوراکل برای ساخت ایندکس متناظر با این PK، از عبارت noparallel استفاده کرده و عبارت parallel تاثیر مثبتی در زمان ایجاد این Primary Key نداشته است: PARSING IN CURSOR #140396268419760 len=72 dep=1 uid=109 oct=9 lid=109 tim=29571676036680 hv=2994446983 ad='b9930010' sqlid='c1ddax6t7r8n7' CREATE UNIQUE INDEX "USEF"."PK_1" on "USEF"."ALL_TABLE"("ID") NOPARALLEL بنابرین زمان اجرای دستور فوق با دستور زیر برابر خواهد بود و اجرای هر دو دستور به 13 ثانیه زمان نیاز دارد: SQL> alter table all_table add constraint pk_1 primary key (id) noparallel; Table altered. Elapsed: 00:00:12.95 برای کاهش این زمان، به عنوان یک راهکار می توان قبل از ساخت Primary Key، ایندکس unique مربوط به آن را در حالت parallel ایجاد کرد و سپس محدودیت PK را اضافه کرد: SQL> CREATE UNIQUE INDEX PK_1 on ALL_TABLE(ID) parallel 10; Index created. Elapsed: 00:00:02.45 SQL> alter table all_table add constraint pk_1 primary key (id) using index PK_1; Table altered. Elapsed: 00:00:03.90 با این ترقند، 13 ثانیه را به 6 ثانیه کاهش داده ایم البته اضافه کردن Primary Key به تنهایی به چهار ثانیه زمان نیاز خواهد داشت چرا که قبل از اضافه شدن constraint باید از not null بودن ستون مطمئن شد بنابرین اگر محدودیت not null روی این ستون موجود باشد، این زمان بسیار کاه تالار های تخصصی...
ما را در سایت تالار های تخصصی دنبال می کنید

برچسب : نویسنده : خنجی niksaleh بازدید : 79 تاريخ : پنجشنبه 25 اسفند 1401 ساعت: 22:11

در این مستند قصد داریم به نحوه نصب Oracle GoldenGate 21c با معماری Microservice بپردازیم. قبل از نصب باید در نظر داشته باشیم که برای استفاده از نسخه مایکروسرویس گلدن گیت، می توانیم این نرم افزار را در سمت source و یا target نصب کنیم و نصب آن در هر دو طرف replication الزامی نیست همچنین source و یا target بودن سرور تاثیری در مراحل نصب نخواهد داشت. قبل از نصب گلدن گیت، مسیری که قرار است نرم افزار در آن نصب شود را ایجاد می کنیم(OGG_HOME): [oracle@target ~]$ mkdir /oracle/OGGMA21c ابزار runInstaller را برای نصب نرم افزار اجرا می کنیم: [oracle@target source]$ unzip 213000_fbo_ggs_Linux_x64_Oracle_services_shiphome.zip [oracle@target ~]$ cd /source/fbo_ggs_Linux_x64_Oracle_services_shiphome/Disk1 [oracle@target Disk1]$ ./runInstaller Starting Oracle Universal Installer... Checking Temp space: must be greater than 120 MB. Actual 70018 MB Passed Checking swap space: must be greater than 150 MB. Actual 1023 MB Passed Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed Preparing to launch Oracle Universal Installer from /tmp/OraInstall2023-03-09_10-45-39AM. Please wait ... بر خلاف نسخه های قبلی، در نسخه 21c نیازی به انتخاب نسخه دیتابیس در طول نصب golden gate وجود ندارد: مسیر نصب نرم افزار گلدن گیت را در این مرحله مشخص می کنیم متغیر OGG_HOME باید به مسیری که در این مرحله اعلام می شود، تنظیم شود: خلاصه ای از تنظیمات انجام شده را مشاهده می کنید: نرم افزار در حال نصب است: نرم افزار با موفقیت نصب شده است: در ادامه برای ایجاد تالار های تخصصی...
ما را در سایت تالار های تخصصی دنبال می کنید

برچسب : نویسنده : خنجی niksaleh بازدید : 87 تاريخ : پنجشنبه 25 اسفند 1401 ساعت: 22:11

خبرنامه